package com.wzdigit.wms.basic.domain.dtos.oqc;

import com.wzdigit.framework.orm.model.BasicDomain;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Map;

/**
 * @ClassName OqcInspDto
 * @Description 产品判检Dto
 * @Author LHR-PC
 * @Date 2021/1/25 20:24
 * @Version
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class OqcInspDto extends BasicDomain implements Serializable {

	private static final long serialVersionUID = 7298667483369844782L;

	//-----------------------------主表
    /**
     * 送检单ID
     */
    @ApiModelProperty(value = "送检单ID")
    private Integer oqcInspId;

    /**
     * 送检单号
     */
    @ApiModelProperty(value = "送检单号")
    private String inspNo;

    /**
     * 工厂(组织)
     */
    @ApiModelProperty(value = "工厂(组织)")
    private String factory;

    /**
     * 送检数量
     */
    @ApiModelProperty(value = "送检数量")
    private Integer inspQty;

    /**
     * 送检单类型
     */
    @ApiModelProperty(value = "送检单类型")
    private Integer inspType;
    /**
     * 判检结果
     */
    @ApiModelProperty(value = "判检结果")
    private Integer inspResult;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private Integer status;


    //---------------------------------明细表
    /**
     * 送检单明细ID
     */
    @ApiModelProperty(value = "送检单明细ID")
    private Integer oqcInspDtlId;

    /**
     * 货品SN
     */
    @ApiModelProperty(value = "货品SN")
    private String goodsSn;
    
    /**
     * 明细状态
     */
    @ApiModelProperty(value = "明细状态")
    private Integer dtlStatus;

    
    //----------------------------------货品清单
    private Integer goodsId;

    /**
     * 货主，客户主数据中 客户类型=货主，取客户ID
     */
    @ApiModelProperty(value = "货主，客户主数据中 客户类型=货主，取客户ID")
    private Integer owner;
    /**
     * 货品
     */
    @ApiModelProperty(value = "货品")
    private Integer skuId;
    /**
     * 供应商IKEY
     */
    @ApiModelProperty(value = "供应商IKEY")
    private Integer vendorId;

    /**
     * 供应商内部的生产批次号
     */
    @ApiModelProperty(value = "供应商内部的生产批次号")
    private String venLotno;

    /**
     * 库存性质(特殊采购性质)，K为寄售 ,E为销售订单,空白为标准转换为S
     */
    @ApiModelProperty(value = "库存性质(特殊采购性质)，K为寄售 ,E为销售订单,空白为标准转换为S")
    private String invAttr;
    /**
     * 品质状态
     */
    @ApiModelProperty(value = "品质状态")
    private Integer qaStatus;

    /**
     * SN原来的品质状态，一般是待检0
     */
    @ApiModelProperty(value = "品质状态")
    private Integer qaStatusOld;

    /**
     * 存储库位
     */
    @ApiModelProperty(value = "存储库位")
    private Integer locId;

    /**
     * SN状态
     */
    @ApiModelProperty(value = "SN状态")
    private Integer snStatus;

    /**
     * goodsQty
     */
    private BigDecimal qty;

    /**
     * goodsQtyOld 判检之前的数量（相同维度组的总和）
     */
    private BigDecimal qtyOld;

    /**
     * 库存地点
     */
    private Integer whsId;

    /**
     * 批次号
     */
    private String lotno;

    /**
     * 单位
     */
    private String unit;

    
    //-------------------
    /**
     * 分组统计之后单组下的SN和其数量
     */
    private Map<String, BigDecimal> snAndQty;
}
